/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package DAO;

import Reportes.HoraExtra;
import Model.Parametro;
import Model.Usuario;
import Presenter.ParametroPresenter;
import Principals.Main;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import org.hibernate.Query;

/**
 *
 * @author CARLOS
 */
public class HoraExtraDAO {

    public static List<HoraExtra> buscarHoraExtra(Date fechaInicio, Date fechaFin, Usuario usuario) {
        String q = "select a.fecha,e.nro_documento \"dni\", e.nombres || e.apellido_paterno \"nombre\" ,p.nombre \"vehiculo\",\n" +
"(a.horas_laboradas-8) \"horaExtra\" ,1.0 \"pagoExtra\" from asistencia a, empleado e , parametro p\n" +
"where a.id_empleado=e.id_empleado and p.id_parametro=e.tipo_vehiculo and\n" +
"a.fecha between  :fechaInicio and :fechaFin";
        //  int cont = 0;
        //   q += " where fecha between :fechaInicio and :fechaFin ";
       List<Parametro> listaParametro= ParametroPresenter.buscarParametro("Costo de hora extra por");
float auto,moto;

        Main.usrSesion.session.beginTransaction();
        Query query = Main.usrSesion.session.createSQLQuery(q);

          query.setParameter("fechaInicio", fechaInicio);
          query.setParameter("fechaFin", fechaFin);

        Main.usrSesion.session.getTransaction().commit();
        List<Object[]> b = query.list();

        List<HoraExtra> a = new LinkedList<HoraExtra>();
HoraExtra h = null;
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-ddHHmmss");


        for (Object[] o : b) {
       try{
            Date fecha=new Date();
            
            fecha= (Date) o[0];
            String aa,bb,cc;
            aa= (String) o[1];
            bb=String.valueOf( o[2]);
            cc=String.valueOf( o[3]);
            
            int d;
            float e;
            d=(Integer)o[4];
            e=1.0f;
            h=new HoraExtra(fecha,aa,bb , cc, d,e);
            a.add(h);
            
       }catch(Exception d){}
        }



        return a;
    }
}
